package com.yb0os1.serve;

import com.yb0os1.dto.OrderCancelDTO;
import com.yb0os1.dto.OrderConditionSearchDTO;
import com.yb0os1.dto.OrderRejectDTO;
import com.yb0os1.dto.OrderSubmitDTO;
import com.yb0os1.dto.OrdersPaymentDTO;
import com.yb0os1.result.PageResult;
import com.yb0os1.vo.OrderPaymentVO;
import com.yb0os1.vo.OrderStatisticsVO;
import com.yb0os1.vo.OrderSubmitVO;
import com.yb0os1.vo.OrderVO;

public interface OrderServe {



    PageResult getHistoryOrders(OrderConditionSearchDTO orderConditionSearchDTO);

    OrderSubmitVO submit(OrderSubmitDTO orderSubmitDTO);

    OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO) throws Exception;
    void paySuccess(String outTradeNo);

    OrderVO getOrderById(Long id);

    PageResult conditionSearch(OrderConditionSearchDTO orderConditionSearchDTO);

    void confirmOrder(Long id);

    void rejectionOrder(OrderRejectDTO orderRejectDTO);

    void cancelOrder(Long id);

    void repetitionOrder(Long id);

    void sendOrder(Long id);

    void cancelOrder(OrderCancelDTO orderCancelDTO);

    OrderStatisticsVO orderStatistics();

    void completeOrder(Long basedOrderDTO);

    void reminderOrder(Long id);
}
